package com.yfp.goods.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 商品表(Goods)实体类
 *
 *
 * @since 2023-12-20 22:20:53
 */
@Data
@Schema(title = "商品表")
public class Goods extends BaseEntity implements Serializable {
    private static final long serialVersionUID = -79371674493342368L;
    /**
     * 商品id
     */
    @Schema(title = "商品id")
    private String goodsId;
    /**
     * 商品名称
     */
    @Schema(title = "商品名称")
    private String goodsName;
    /**
     * 商品描述
     */
    @Schema(title = "商品描述")
    private String goodsDesc;
    /**
     * 公司id
     */
    @Schema(title = "公司id")
    private String companyId;

    @Schema(title = "公司id列表")
    private List<String> companyIds;

    /**
     * 区域id
     */
    @Schema(title = "区域id")
    private String areaId;
    /**
     * 商品分类id
     */
    @Schema(title = "商品分类id")
    private String goodsTypeId;

    /**
     * 商品分类id
     */
    @Schema(title = "商品分类名称")
    private String goodsTypeName;
    /**
     * 销售价
     */
    @Schema(title = "销售价")
    private String salePrice;

    @Schema(title = "最小销售价")
    private String minSalePrice;

    @Schema(title = "最大销售价")
    private String maxSalePrice;


    /**
     * 成本价
     */
    @Schema(title = "成本价")
    private String costPrice;

    @Schema(title = "最小成本价")
    private String minCostPrice;

    @Schema(title = "最大成本价")
    private String maxCostPrice;

    /**
     * 加热时间（秒）
     */
    @Schema(title = "加热时间（秒）")
    private Integer heatTime;
    /**
     * 温度
     */
    @Schema(title = "温度")
    private String temperature;
    /**
     * 供应商
     */
    @Schema(title = "供应商")
    private String supplier;
    /**
     * 封面图片id
     */
    @Schema(title = "封面图片id")
    private String frontImgId;
    @Schema(title = "封面图片Url")
    private String frontImgUrl;

    /**
     * 口味（辣/不辣）
     */
    @Schema(title = "口味（辣/不辣）")
    private String taste;
    /**
     * 重量（g）
     */
    @Schema(title = "重量（g）")
    private String weight;
    /**
     * 热量（kal）
     */
    @Schema(title = "热量（kal）")
    private String calorie;
    /**
     * 启用1/禁用
     */
    @Schema(title = "启用1/禁用")
    private Integer enable;
    /**
     * 创建时间
     */
    @Schema(title = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 创建时间查询
     */
    @Schema(title = "创建时间查询")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTimeBegin;

    @Schema(title = "创建时间查询")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTimeEnd;

    /**
     * 更新时间
     */
    @Schema(title = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    /**
     * 是否删除
     */
    @Schema(title = "是否删除")
    private Boolean isDelete;
    /**
     * 商品视频id
     */
    @Schema(title = "商品视频id")
    private String videoId;
    /**
     * 保质期（天）
     */
    @Schema(title = "保质期（天）")
    private Integer expireDay;
    /**
     * 会员价
     */
    @Schema(title = "会员价")
    private String vipPrive;
    /**
     * 小程序价
     */
    @Schema(title = "小程序价")
    private String miniPrice;
    @Schema(title = "创建人")
    private String createBy;

    @Schema(title = "配料")
    private String dosing;

    @Schema(title = "商品数量")
    private Integer goodsNum = 1;

    @Schema(title = "套餐商品id")
    private String comboGoodsId;

    @Schema(title = "城市名称")
    private String cityName;

    @Schema(title = "部门id")
    private Long deptId;

}

